ubuntu下qemu创建arm虚拟机、uefi shell启动系统并与物理机通信 您所在的位置:网站首页 虚拟机uefi interactive shell v22怎么办 ubuntu下qemu创建arm虚拟机、uefi shell启动系统并与物理机通信

ubuntu下qemu创建arm虚拟机、uefi shell启动系统并与物理机通信

2023-09-03 20:57| 来源: 网络整理| 查看: 265

因为个人需要,搭建了一台arm仿真的虚拟机。具体细节和原理可以网上搜索,这里仅记录过程

qemu创建虚拟机

1.下载镜像(用于安装系统),下载QEMU_EFI.fd(用于引导启动操作系统,地址http://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/) 2.创建虚拟盘,这里选择的qocw2格式,名称是ubuntu_arrch64.img,大小30G

qemu-img create -f qcow2 ubuntu_arrch64.img 30G

3.初次启动并安装系统。下面的命令可以写入shell脚本中方便反复使用。其中QEMU_EFI.fd是efi的路径。$1是准备的镜像的路径。$2是刚才创建的img的路径。-m 后面表示模拟的内存,单位是MB。-smp表示模拟的cpu个数。

qemu-system-aarch64 \ -m 4096 -cpu cortex-a57 -smp 2 -M virt -bios QEMU_EFI.fd -nographic \ -drive if=none,file=$1,id=cdrom,media=cdrom \ -device virtio-scsi-device \ -device scsi-cd,drive=cdrom \ -drive if=none,file=$2,id=hd0 \ -device virtio-blk-device,drive=hd0

命令成功后,会进入引导安装系统界面,按照安装系统的步骤操作即可。

qemu启动虚拟机

1.安装完成后,下次需要启动虚拟机

qemu-system-aarch64 -m 4096 -cpu cortex-a57 -smp 2 -M virt -bios QEMU_EFI.fd -nographic \ -drive if=none,file=$1,id=hd0 -device virtio-blk-device,drive=hd0 \

因为qemu只是相当于模拟了一套硬件,来启动我们创建好的虚拟盘。在我们将系统装进了虚拟盘后,其他的参数(内存、cpu、网卡等)是可以更改的。

2.启动后会进入uefi shell界面,需要找到efi存放路径并启动

FS0: cd EFI/ubuntu grubaa64.efi

一般默认都是在第一个分区里。如果这样没找到efi文件那就在其他分区里找找。

实现虚拟机和物理机通信 物理机创建网桥,并将一个网卡和网桥桥接。需要的工具: bridge-utils与uml-utilities ifconfig down eth0 //先关闭一个网口,建议选一个非上网的端口专门用来和虚拟机通信 brctl addbr virbr0 //添加一个虚拟网桥virbr0 brctl addif virbr0 eth0 //eth0添加到virbr0中 ifconfig virbr0 10.0.2.20 netmask 255.255.255.0 //配置网桥IP。这个IP是用来和虚拟机通信的。 tunctl -t tap0 //创建一个接口tap0 brctl addif virbr0 tap0 //将tap0添加到virbr0中

这些操作完成后,可以通过brctl show查看结果是否成功。正常应该和下面类似 在这里插入图片描述 2. 启动虚拟机。这次要禁用qemu启动if-up脚本,改用网卡绑定我们创建的tap0。就是添加一行-net nic -net tap,ifname=tap0,script=no,downscript=no

qemu-system-aarch64 -m 4096 -cpu cortex-a57 -smp 2 -M virt -bios QEMU_EFI.fd -nographic \ -drive if=none,file=$1,id=hd0 -device virtio-blk-device,drive=hd0 \ -net nic -net tap,ifname=tap0,script=no,downscript=no

3.启动虚拟机后,修改虚拟机的网卡,让它和virbr0在同一个网段

ifconfig eth0 10.0.2.15 netmask 255.255.255.0

然后可以虚拟机与物理机相互ping,发现网络ping通啦!大功告成,接下来就可以ssh/sftp相互访问与传输文件了。

可以将物理机/虚拟机更改后的网卡配置写入/etc/network/interface中,这样下次开机就会自动启用。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有